<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>函数参数-默认参数</title>
</head>

<body>
  <script>
    // 默认参数: 给形参一个默认值
    // function sum(num1, num2) {
    //   num1 = num1 || 0
    //   num2 = num2 || 0
    //   return num1 + num2
    // }

    // ----------改造: 用给函数参数设置默认值
    /*
      function 函数名(参数1 = 默认值1, 参数2 = 默认值2, ...){
        函数体
      }
      注意:
      默认值生效情况1, 没有传递实参
      默认值生效情况2, 传了实参但传递的是undefined
    */
    function sum(num1 = 0, num2 = 0) {
      return num1 + num2
    }

    // console.log(sum(300, 200))
    // console.log(sum())
    // console.log(sum(undefined, undefined))
    // console.log(sum(false, true));

    /*
     总结:
     1) 函数参数默认值, 只适用于给函数形参参数设置默认值
     2) 逻辑中断除了可以来设置默认值, 还可以有更多的应用场景
    */
  </script>
</body>

</html>